字体的度量

如图。
unit是在字体设计时的网格点的单位,由于最终都会计算出字体的缩放比例,因此不论字体设计时的最大高度是多少unit,最终渲染出的大小都是相同。Ascender和Descender是字体规定的,最高点和最低点相对于字体Baseline的距离,其中Descender是负数。
pt是point的简称,在以往是活字大小的度量单位,现在的数字字体中的point一般都是美式点(American Point),其大小为1/72英寸。
em是字体的大小,在给定字体大小为16pt时,em即为16pt。
dpi是Dots Per Inch,是显示器像素密度的单位。
ppm是Pixels Per eM,显然的,ppm = dpi * em / 72。而upm是Unit Per eM,显然有upm = Ascender - Descender。
将unit为单位的字形转换为实际像素大小的位图显然就是在做upm到ppm之间的代换(unit确实和pixel之间可以说都不是一个类型的单位,但查阅许多资料,似乎upm到ppm之间的代换是约定俗成的(?)。我个人猜想,这里的逻辑是一个unit和一个pixel对应),那么ppm/upm = (Ascender - Descender) / (dpi * em / 72)。